Sensors specification

In WOLF, sensors are specified in the YAML configuration file as a sequence under the sensors key. The parameters for each sensor include:

  • type: the type of sensor (class name)

  • plugin: the WOLF plugin where this class is implemented (used to load the plugin in runtime).

  • name: a unique name for the sensor.

  • states: the states associated with the sensor, which can include extrinsic parameters (position, orientation), and intrinsic parameters. See State YAML specification for more details on how to specify states.

  • Other parameters specific to the sensor type.

Note

Remember that the YAML templates contains all the parameters of each class and a brief doc. You can start from the templates and modify them to suit your needs. See more information in the YAML schema section.

The following is the part of the WOLF ROS2 application example configuration file, containing the sensors specification.

sensors:
  -
    type: "SensorOdom2d"
    name: "sensor_odom"
    plugin: "core"
    states:
      P:
        dynamic: false
        value: [0,0]
        prior:
          mode: fix
      O:
        dynamic: false
        value: [0]
        prior:
          mode: fix
    min_disp_var: 1e-6
    min_rot_var: 1e-6
    k_disp_to_disp: 0.1
    k_disp_to_rot: 0.1
    k_rot_to_rot: 0.1
  -
    type: "SensorLaser2d"
    name: "laser_scan"
    plugin: "laser"
    states:
      P:
        dynamic: false
        value: [0,0]
        prior:
          mode: fix
      O:
        dynamic: false
        value: [0]
        prior:
          mode: fix
    angle_min: -2.35619    # only used if: ROS subscriber/SubscriberLaser2d/load_params_from_msg = false
    angle_max: 2.35619     # only used if: ROS subscriber/SubscriberLaser2d/load_params_from_msg = false
    angle_step: 0.00436332 # only used if: ROS subscriber/SubscriberLaser2d/load_params_from_msg = false
    scan_time: 0.025       # only used if: ROS subscriber/SubscriberLaser2d/load_params_from_msg = false
    range_min: 0.023       # only used if: ROS subscriber/SubscriberLaser2d/load_params_from_msg = false
    range_max: 60          # only used if: ROS subscriber/SubscriberLaser2d/load_params_from_msg = false
    range_std_dev: 0.2
    angle_std_dev: 0.01